home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / intui.lha / Appicon.s next >
Encoding:
Text File  |  1992-09-02  |  1.2 KB  |  95 lines

  1.  
  2. ; Appicon
  3.  
  4.     SECTION kips,code_c
  5.  
  6.     opt c-,o+
  7.  
  8.     include    INCLUDE:libs.i
  9.     include    INCLUDE:DMmacros.i
  10.  
  11. ; Libs
  12.     
  13.     lea    Workname(pc),a1
  14.     SYS    OpenLibrary
  15.     move.l    d0,WorkBase
  16.  
  17.     lea    iconname(pc),a1
  18.     SYS    OpenLibrary
  19.     move.l    d0,iconbase
  20.  
  21. ; Code
  22.  
  23.     move.l    iconbase,a6
  24.     move.l    #WBTOOL,d0
  25.     jsr    GetDefDiskObject(a6)
  26.     move.l    d0,dobj
  27.  
  28.     SYS    CreateMsgPort
  29.     move.l    d0,myport
  30.  
  31.     move.l    WorkBase,a6
  32.     move.l    myport,a1
  33.     move.l    dobj,a3
  34.     move.l    #apptext,d0
  35.     move.l    d0,a0
  36.     moveq.l    #1,d0
  37.     move.l    #0,d1
  38.     move.l    #0,a2
  39.     move.l    #0,a4
  40.     jsr    AddAppIconA(a6)
  41.     move.l    d0,Apphd
  42.  
  43. ; Check Port
  44.  
  45.     move.l    #0,d1
  46. Test    
  47.     move.l    myport,a0
  48.     SYS    WaitPort
  49.     SYS    GetMsg
  50.     tst.l    d0
  51.     beq.s    test
  52.     move.l    d0,a0
  53.     move.l    am_NumArgs(a0),d1    
  54.     cmp.w    #1,d1            ; it works like this
  55.     beq    bye            ; do not change!!!!!
  56. ;    SYS    ReplyMsg
  57.     bra.s    test
  58.  
  59. bye
  60.     move.l    dobj,a0
  61.     move.l    iconbase,a6
  62.     jsr    FreeDiskObject(a6)
  63.  
  64.     move.l    Apphd,a0
  65.     move.l    WorkBase,a6
  66.     jsr    RemoveAppIcon(a6)
  67.  
  68. ; Bye port
  69.  
  70.     move.l    myport,a0
  71.     SYS    DeleteMsgPort
  72.  
  73. ; Close Libs
  74.  
  75.     move.l    WorkBase,a1
  76.     SYS    CloseLibrary
  77.     
  78.     move.l    iconbase,a1
  79.     SYS    CloseLibrary
  80.     rts
  81.  
  82. ; End of code - start of data
  83.  
  84. Workname    dc.b    'workbench.library',0
  85. iconname    dc.b    'icon.library',0
  86. apptext        dc.b    'Kippers',0
  87.  
  88. WorkBase    dc.l    0
  89. iconbase    dc.l    0
  90. dobj        dc.l    0
  91. myport        dc.l    0
  92. Apicon        dc.l    0
  93. Apphd        dc.l    0
  94.     end
  95.